<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/page_64_types.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/page_64_types.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="Maybe">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X0FTTV9YODZfUEFHRV82NF9ERUZTX0hfMA__"><span class="b">_ASM_X86_PAGE_64_DEFS_H</span></a>
<a name="2" /><span class="Maybe">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X0FTTV9YODZfUEFHRV82NF9ERUZTX0hfMA__"><span class="b">_ASM_X86_PAGE_64_DEFS_H</span></a>
<a name="3" /><span class="Maybe">       3:</span> 
<a name="4" /><span class="Maybe">       4:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_VEhSRUFEX1NJWkVfT1JERVJfMA__"><span class="b">THREAD_SIZE_ORDER</span></a>    <span class="c">1</span>
<a name="5" /><span class="Maybe">       5:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_VEhSRUFEX1NJWkVfMA__"><span class="b">THREAD_SIZE</span></a>  <span class="f">(</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_VEhSRUFEX1NJWkVfT1JERVJfMA__"><span class="b">THREAD_SIZE_ORDER</span></a><span class="f">)</span>
<a name="6" /><span class="Maybe">       6:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1VSUkVOVF9NQVNLXzA_"><span class="b">CURRENT_MASK</span></a> <span class="f">(</span><span class="f">~</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_VEhSRUFEX1NJWkVfMA__"><span class="b">THREAD_SIZE</span></a> <span class="f">-</span> <span class="c">1</span><span class="f">)</span><span class="f">)</span>
<a name="7" /><span class="Maybe">       7:</span> 
<a name="8" /><span class="Maybe">       8:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RVhDRVBUSU9OX1NUQUNLX09SREVSXzA_"><span class="b">EXCEPTION_STACK_ORDER</span></a> <span class="c">0</span>
<a name="9" /><span class="Maybe">       9:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RVhDRVBUSU9OX1NUS1NaXzA_"><span class="b">EXCEPTION_STKSZ</span></a> <span class="f">(</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_RVhDRVBUSU9OX1NUQUNLX09SREVSXzA_"><span class="b">EXCEPTION_STACK_ORDER</span></a><span class="f">)</span>
<a name="10" /><span class="Maybe">      10:</span> 
<a name="11" /><span class="Maybe">      11:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_REVCVUdfU1RBQ0tfT1JERVJfMA__"><span class="b">DEBUG_STACK_ORDER</span></a> <span class="f">(</span><a href="cpu.c_macros_noref.html#_RVhDRVBUSU9OX1NUQUNLX09SREVSXzA_"><span class="b">EXCEPTION_STACK_ORDER</span></a> <span class="f">+</span> <span class="c">1</span><span class="f">)</span>
<a name="12" /><span class="Maybe">      12:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_REVCVUdfU1RLU1pfMA__"><span class="b">DEBUG_STKSZ</span></a> <span class="f">(</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_REVCVUdfU1RBQ0tfT1JERVJfMA__"><span class="b">DEBUG_STACK_ORDER</span></a><span class="f">)</span>
<a name="13" /><span class="Maybe">      13:</span> 
<a name="14" /><span class="Maybe">      14:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_SVJRX1NUQUNLX09SREVSXzA_"><span class="b">IRQ_STACK_ORDER</span></a> <span class="c">2</span>
<a name="15" /><span class="Maybe">      15:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_SVJRX1NUQUNLX1NJWkVfMA__"><span class="b">IRQ_STACK_SIZE</span></a> <span class="f">(</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_SVJRX1NUQUNLX09SREVSXzA_"><span class="b">IRQ_STACK_ORDER</span></a><span class="f">)</span>
<a name="16" /><span class="Maybe">      16:</span> 
<a name="17" /><span class="Maybe">      17:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBQ0tGQVVMVF9TVEFDS18w"><span class="b">STACKFAULT_STACK</span></a> <span class="c">1</span>
<a name="18" /><span class="Maybe">      18:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RE9VQkxFRkFVTFRfU1RBQ0tfMA__"><span class="b">DOUBLEFAULT_STACK</span></a> <span class="c">2</span>
<a name="19" /><span class="Maybe">      19:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Tk1JX1NUQUNLXzA_"><span class="b">NMI_STACK</span></a> <span class="c">3</span>
<a name="20" /><span class="Maybe">      20:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_REVCVUdfU1RBQ0tfMA__"><span class="b">DEBUG_STACK</span></a> <span class="c">4</span>
<a name="21" /><span class="Maybe">      21:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TUNFX1NUQUNLXzA_"><span class="b">MCE_STACK</span></a> <span class="c">5</span>
<a name="22" /><span class="Maybe">      22:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Tl9FWENFUFRJT05fU1RBQ0tTXzA_"><span class="b">N_EXCEPTION_STACKS</span></a> <span class="c">5</span>  <span class="k">/* hw limit: 7 */</span>
<a name="23" /><span class="Maybe">      23:</span> 
<a name="24" /><span class="Maybe">      24:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UFVEX1BBR0VfU0laRV8w"><span class="b">PUD_PAGE_SIZE</span></a>        <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FDXzA_"><span class="b">_AC</span></a><span class="f">(</span><span class="c">1</span><span class="f">,</span> <span class="b">UL</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_UFVEX1NISUZUXzA_"><span class="b">PUD_SHIFT</span></a><span class="f">)</span>
<a name="25" /><span class="Maybe">      25:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UFVEX1BBR0VfTUFTS18w"><span class="b">PUD_PAGE_MASK</span></a>        <span class="f">(</span><span class="f">~</span><span class="f">(</span><a href="cpu.c_macros_noref.html#_UFVEX1BBR0VfU0laRV8w"><span class="b">PUD_PAGE_SIZE</span></a><span class="f">-</span><span class="c">1</span><span class="f">)</span><span class="f">)</span>
<a name="26" /><span class="Maybe">      26:</span> 
<a name="27" /><span class="Maybe">      27:</span> <span class="k">/*</span>
<a name="28" /><span class="Maybe">      28:</span> <span class="k"> * Set __PAGE_OFFSET to the most negative possible address +</span>
<a name="29" /><span class="Maybe">      29:</span> <span class="k"> * PGDIR_SIZE*16 (pgd slot 272).  The gap is to allow a space for a</span>
<a name="30" /><span class="Maybe">      30:</span> <span class="k"> * hypervisor to fit.  Choosing 16 slots here is arbitrary, but it&apos;s</span>
<a name="31" /><span class="Maybe">      31:</span> <span class="k"> * what Xen requires.</span>
<a name="32" /><span class="Maybe">      32:</span> <span class="k"> */</span>
<a name="33" /><span class="Maybe">      33:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19QQUdFX09GRlNFVF8w"><span class="b">__PAGE_OFFSET</span></a>           <a href="cpu.c_macros_ref.html#_X0FDXzA_"><span class="b">_AC</span></a><span class="f">(</span><span class="c">0xffff880000000000</span><span class="f">,</span> <span class="b">UL</span><span class="f">)</span>
<a name="34" /><span class="Maybe">      34:</span> 
<a name="35" /><span class="Maybe">      35:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19TVEFSVF9LRVJORUxfbWFwXzA_"><span class="b">__START_KERNEL_map</span></a>    <a href="cpu.c_macros_ref.html#_X0FDXzA_"><span class="b">_AC</span></a><span class="f">(</span><span class="c">0xffffffff80000000</span><span class="f">,</span> <span class="b">UL</span><span class="f">)</span>
<a name="36" /><span class="Maybe">      36:</span> 
<a name="37" /><span class="Maybe">      37:</span> <span class="k">/* See Documentation/x86/x86_64/mm.txt for a description of the memory map. */</span>
<a name="38" /><span class="Maybe">      38:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19QSFlTSUNBTF9NQVNLX1NISUZUXzA_"><span class="b">__PHYSICAL_MASK_SHIFT</span></a>    <span class="c">46</span>
<a name="39" /><span class="Maybe">      39:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19WSVJUVUFMX01BU0tfU0hJRlRfMA__"><span class="b">__VIRTUAL_MASK_SHIFT</span></a>    <span class="c">47</span>
<a name="40" /><span class="Maybe">      40:</span> 
<a name="41" /><span class="Maybe">      41:</span> <span class="k">/*</span>
<a name="42" /><span class="Maybe">      42:</span> <span class="k"> * Kernel image size is limited to 512 MB (see level2_kernel_pgt in</span>
<a name="43" /><span class="Maybe">      43:</span> <span class="k"> * arch/x86/kernel/head_64.S), and it is mapped here:</span>
<a name="44" /><span class="Maybe">      44:</span> <span class="k"> */</span>
<a name="45" /><span class="Maybe">      45:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_S0VSTkVMX0lNQUdFX1NJWkVfMA__"><span class="b">KERNEL_IMAGE_SIZE</span></a>    <span class="f">(</span><span class="c">512</span> <span class="f">*</span> <span class="c">1024</span> <span class="f">*</span> <span class="c">1024</span><span class="f">)</span>
<a name="46" /><span class="Maybe">      46:</span> 
<a name="47" /><span class="True">      47:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _ASM_X86_PAGE_64_DEFS_H */</span>
<a name="48" /><span class="True">      48:</span> </pre>
  </body>
</html>
